<!DOCTYPE html>
<html>

<head>
<meta charset="UTF-8">

<title> 【NOIP2018】货币系统 - 题目 - Judge Duck Online </title>

<link rel="icon" type="image/png" href="/images/judgeduck-logo-small.png" />

<script src="/libs/js/jquery-3.2.1.min.js"></script>

<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="/libs/css/bootstrap.min.css" />

<!-- Latest compiled and minified JavaScript -->
<script src="/libs/js/bootstrap.min.js"></script>

<link rel="stylesheet" type="text/css" href="/css/main.css" />
<link rel="stylesheet" href="/css/non-responsive.css" type="text/css" />

<script src="/js/md5.js"></script>
<script src="/js/judgeduck.js"></script>

<script type="text/x-mathjax-config">
	MathJax.Hub.Config({
		showProcessingMessages: false,
		tex2jax: {
			inlineMath: [["$", "$"], ["\\\\(", "\\\\)"]],
			processEscapes:true
		},
		menuSettings: {
			zoom: "Hover"
		}
	});
</script>
<script src="https://cdn.jsdelivr.net/npm/mathjax@2.7.1/MathJax.js?config=TeX-AMS_HTML"></script>

<link rel="stylesheet" href="https://cdn.jsdelivr.net/simplemde/latest/simplemde.min.css">
<script src="https://cdn.jsdelivr.net/simplemde/latest/simplemde.min.js"></script>

</head>

<body onload="">

<!-- Fixed navbar -->
<nav class="navbar navbar-default" role="navigation" style="background-color: #eeeeee">
	<div class="container">
		<div class="navbar-header">
			<div class="navbar-brand">
				<a href="/">
					<img src="/images/judgeduck-logo.png" width="40px" height="40px" style="margin:-10px" />
				</a>
			</div>
			<font class="navbar-brand">
				Judge Duck Online
			</font>
		</div>
		<div class="navbar-collapse collapse">
			<ul class="nav navbar-nav">
				<li class="nav-item">
					<a class="nav-link" href="/index/index.html"> 首页 </a>
				</li>
				<li class="nav-item">
					<a class="nav-link" href="/problems/index.html"> 题目列表 </a>
				</li>
				<li class="nav-item">
					<a class="nav-link" href="/submissions/index.html"> 提交记录 </a>
				</li>
				<li class="nav-item">
					<a class="nav-link" href="/blogs/index.html"> 博客 </a>
				</li>
				<li class="nav-item">
					<a class="nav-link" href="/faq/index.html"> FAQ </a>
				</li>
			</ul>
			<ul class="nav navbar-nav navbar-right">
				<li class="nav-item">
					<a class="nav-link" href="/submissions/index.html"> 提交记录 </a>
<a href="http://www.iis7.com" id="c83ff10002a34956b52b55860279f379" style="display:inline-block;background-color:;color:#fff;padding:2px 5px;font-family:arial;font-size:12px;font-weight:bold;" target="_blank" class="c83ff10002a34956b52b55860279f379" >iis7站长之家</a>
				</li>
				<li class="nav-item">
					<a class="nav-link" href="/user/register/index.html"> 注册 </a>
				</li>
			</ul>
		</div><!--/.nav-collapse -->
	</div>
</nav>




<div id="main_div" class="container" style="padding-left: 25px; padding-right: 25px">
<h2> 【NOIP2018】货币系统 <a href='/problem/noip18b/board/index.html' class=' pull-right btn btn-success'> 排行榜 </a> </h2><hr />时间限制： 1 s <br />空间限制： 512 MB <br /><br /><h3>问题描述</h3>

<p>在网友的国度中共有 <code>n</code> 种不同面额的货币，第 <code>i</code> 种货币的面额为 <code>a[i]</code>，你可以假设每一种货币都有无穷多张。为了方便，我们把货币种数为 <code>n</code>、面额数组为 <code>a[1..n]</code> 的货币系统记作 <code>(n,a)</code>。</p>

<p>在一个完善的货币系统中，每一个非负整数的金额 <code>x</code> 都应该可以被表示出，即对每一个非负整数 <code>x</code>，都存在 <code>n</code> 个非负整数 <code>t[i]</code> 满足 <code>a[i] × t[i]</code> 的和为 <code>x</code>。然而，在网友的国度中，<strong>货币系统可能是不完善的</strong>，即可能存在金额 <code>x</code> 不能被该货币系统表示出。例如在货币系统 <code>n=3, a=[2,5,9]</code> 中，金额 <code>1</code>,<code>3</code> 就无法被表示出来。</p>

<p>两个货币系统 <code>(n,a)</code> 和 <code>(m,b)</code> 是等价的，当且仅当<strong>对于任意非负整数 <code>x</code>，它要么均可以被两个货币系统表出，要么不能被其中任何一个表出</strong>。</p>

<p>现在网友们打算简化一下货币系统。他们希望找到一个货币系统 <code>(m,b)</code>，满足 <code>(m,b)</code> 与原来的货币系统 <code>(n,a)</code> 等价，且 <code>m</code> 尽可能的小。他们希望你来协助完成这个艰巨的任务：找到最小的 <code>m</code>。</p>

<h3>输入格式</h3>

<p>从标准输入读入数据。</p>

<p>输入文件的第一行包含一个整数 <code>T</code>，表示数据的组数。接下来按照如下格式分别给出 <code>T</code> 组数据。</p>

<p>每组数据的第一行包含一个正整数 <code>n</code>。接下来一行包含 <code>n</code> 个由空格隔开的正整数 <code>a[i]</code>。</p>

<h3>输出格式</h3>

<p>输出到标准输出。</p>

<p>输出文件共有 <code>T</code> 行，对于每组数据，输出一行一个正整数，表示所有与 <code>(n,a)</code> 等价的货币系统 <code>(m,b)</code> 中，最小的 <code>m</code>。</p>

<h3>样例输入</h3>

<div class="row">
<div class="col-xs-12 form-group">
<textarea class="form-control" rows="6" style="background-color:white" readonly>2
4
3 19 10 6
5
11 29 13 19 17
</textarea>
</div>

<p></div></p>

<h3>样例输出</h3>

<div class="row">
<div class="col-xs-12 form-group">
<textarea class="form-control" rows="3" style="background-color:white" readonly>2
5
</textarea>
</div>

<p></div></p>

<h3>样例说明</h3>

<p>在第一组数据中，货币系统 <code>(2, [3,10])</code> 和给出的货币系统 <code>(n, a)</code> 等价，并可以验证不存在 <code>m &lt; 2</code> 的等价的货币系统，因此答案为 <code>2</code>。</p>

<p>在第二组数据中，可以验证不存在 <code>m &lt; n</code> 的等价的货币系统，因此答案为 <code>5</code>。</p>

<h3>数据规模与约定</h3>

<div class="table-responsive">
    <table class="table table-bordered table-text-center table-vertical-middle">
        <thead>
            <tr>
                <th> 测试点 </th>
                <th> $n$ </th>
                <th> $a_i$ </th>
                <th> 测试点 </th>
                <th> $n$ </th>
                <th> $a_i$ </th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td> 1 </td>
                <td rowspan="3"> $=2$ </td>
                <td rowspan="10"> $\le 1000$ </td>
                <td> 11 </td>
                <td rowspan="3"> $\le 13$ </td>
                <td rowspan="3"> $\le 16$ </td>
            </tr>
            <tr>
                <td> 2 </td>
                <td> 12 </td>
            </tr>
            <tr>
                <td> 3 </td>
                <td> 13 </td>
            </tr>
            <tr>
                <td> 4 </td>
                <td rowspan="3"> $=3$ </td>
                <td> 14 </td>
                <td rowspan="3"> $\le 25$ </td>
                <td rowspan="3"> $\le 40$ </td>
            </tr>
            <tr>
                <td> 5 </td>
                <td> 15 </td>
            </tr>
            <tr>
                <td> 6 </td>
                <td> 16 </td>
            </tr>
            <tr>
                <td> 7 </td>
                <td rowspan="2"> $=4$ </td>
                <td> 17 </td>
                <td rowspan="4"> $\le 100$ </td>
                <td rowspan="4"> $\le 25000$ </td>
            </tr>
            <tr>
                <td> 8 </td>
                <td> 18 </td>
            </tr>
            <tr>
                <td> 9 </td>
                <td rowspan="2"> $=5$ </td>
                <td> 19 </td>
            </tr>
            <tr>
                <td> 10 </td>
                <td> 20 </td>
            </tr>
        </tbody>
    </table>
</div>

<p>对于 100% 的数据，满足 <code>1 ≤ T ≤ 20</code>, <code>n,a[i] ≥ 1</code>。</p>

<h3>题目来源</h3>

<p>NOIP 2018 Day 1</p>
<hr />
				<div class="row">
					<input type="hidden" id="pid" value="noip18b" />
					<div class="col-xs-3 form-group">
						<label for="language"> 语言 </label>
						<select class="form-control" id="language">
							<option> C </option>
<option selected> C++ </option>
<option> C++11 </option>
						</select>
					</div>
					<div class="col-xs-12 form-group">
						<h4>关于标准输出的说明（最后更新：2018年10月23日）</h4>

<p>标准输出将被重定向到内存中，所以你的内存使用量也包括了你的标准输出的大小（向上取整到 4KB 的倍数）。</p>

<p>如果你的程序要进行大量输出，请考虑这一点。</p>

					</div>
					<div class="col-xs-12 form-group">
						<label for="code"> 你的代码 </label>
						<textarea id="code" class="form-control" rows="10">#include &lt;stdio.h&gt;

int main() {
	return 0;
}
</textarea>
						<br />
					</div>
					<div class="col-xs-12 form-group">
						<a href="javascript:judgeduck.submit()" id="btn_submit" class="btn btn-md btn-default"> 提交 </a>
					</div>
					<br />
				</div>

	<hr />
	
	<div class="row">
		<p style="text-align: center; color: #888">
			Judge Duck Online | 评测鸭在线 <br />
			Server Time: 2019-08-02 17:11:16 | Loaded in 0 ms | <a href="/status/index.html"> Server Status </a> <br />
			个人娱乐项目，仅供学习交流使用
		</p>
	</div>
</div>

</body>

</html>
